package com.sunlake.spring.main.model.course.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.sunlake.spring.main.common.response.R;
import com.sunlake.spring.main.model.course.dto.CourseQueryDTO;
import com.sunlake.spring.main.model.course.vo.CourseCategoryVO;
import com.sunlake.spring.main.model.course.vo.CourseDetailVO;
import com.sunlake.spring.main.model.course.vo.CourseItemVO;

/**
 * 课程服务接口
 */
public interface CourseService {

    /**
     * 获取推荐课程
     */
    R<List<CourseItemVO>> getFeaturedCourses();

    /**
     * 分页查询课程
     */
    R<PageInfo<CourseItemVO>> getCourses(CourseQueryDTO queryDTO);

    /**
     * 查询课程详情
     */
    R<CourseDetailVO> getCourseDetail(Long courseId);

    /**
     * 获取所有分类
     */
    R<List<CourseCategoryVO>> getCategories();
}
